The present invention relates to a packet-transmission control method and a packet-transmission control apparatus. More particularly, the present invention relates to a packet-transmission control method and a packet-transmission control apparatus wherein those virtual connections in a list having a large number of VCs to be merged are given a high priority in merge processing.
When an IP (Internet Protocol) network is constructed by using an ATM (Asynchronous Transfer Mode), a problem arises as to how a connectionless IP packet can be transmitted by using a virtual connection of the ATM, which is a connection oriented technology. The virtual connection is abbreviated hereafter simply as VC.
According to one technique, VCs are stretched in a mesh form from all origin networks to all end-point networks. With this technique, at an origin, an IP packet is transmitted through a VC linked to an end-point network corresponding to a destination IP address of the IP packet. This technique can be readily implemented with ease by using only existing technologies. Since the number of required VCs is a value on the order of the 2nd power of the number of networks, however, this technique gives rise to a problem of scalability.
In order to solve the problem of scalability, there is another technique wherein VCs are provided in a tree form starting from each end-point network to all origin networks, instead of being provided in a mesh form. Even with this technique, at an origin, an IP packet is transmitted through a VC corresponding to a destination IP address of the IP packet. At a VC merge point on the tree where a plurality of VCs are merged into a single VC, this IP packet is transferred from the VC the IP packet has been using so far to another. Eventually, the IP packet can reach the end-point network as expected. With this technique, since it is not necessary to carry out branch processing during the transmission of an IP packet, processing by a router is not required, allowing the processing to be performed at only an ATM layer.
In the following description, an apparatus for carrying out processing to transfer an IP packet coming from one of a plurality of incoming VCs to a continuation VC is referred to as a VC merger. A VC merger can be incorporated in an ATM switch or provided externally. In the processing to transfer an IP packet coming from one of a plurality of incoming VCs to a continuation VC, there is encountered a problem as to how an IP packet is divided into smaller cells in the ATM prior to the transfer.
In each VC, the order of cells is maintained even if a cell is lost and a new cell is never inserted into a position between any 2 consecutive cells. The format of an IP packet placed on a plurality of cells is clean on the premise that the order of cells is maintained and a new cell is never inserted into a position between 2 cells. For this reason, when cells coming from a plurality of VCs are merged into a series of cells flowing through a VC, the merge processing has to be carried out in IP-packet units instead of cell units. Otherwise, a packet can not be transmitted correctly. In addition, if the number of queues that can be used for VC merging is smaller than the number of VCs obtained as a result of merging, VCs to be merged are determined on a first-come-first-served basis.
A cell used as an ATM transfer unit comprises a header of 5 bytes in length and data of 48 bytes in size to give a fixed total length of 53 bytes. On the other hand, an IP packet comprises a header of 20 bytes in length and a data portion. The maximum length of the header is 60 bytes, including options. The IP packet has a variable length of up to 65,535 bytes, including the variable-length header and data. A format of data placed on cells is referred to as an AAL (ATM Adaptation Layer). At the present time, type 1, type 3/4 and type 5 of the AAL are defined.
In general, an IP packet is placed on cells according to the AAL5. Typical processing is explained as follows.
First of all, at a 1st step, a header and a trailer are added before and after an IP packet. Speaking accurately, this processing is beyond the range of the AAL5 and follows RFC (Request for Comments) 1,483. It should be noted that an RFC is TCP/IP specification or service standard disclosed through a server on the Internet with an address of (http://ds.internic.net/) by the IETF (Internet Engineering Task Force), an Internet Research and Development Institute. Each RFC has a serial number assigned thereto for identification of the contents of the RFC.
Then, at a 2nd step, a trailer is appended by using a technique known as an AAL5 CPCS (Common Part Convergence Sublayer). A trailer includes information on the length and a 32-bit CRC (cyclic redundancy check) code. The total length is thus a multiple of 48 bytes. This is referred to hereafter as a frame. Subsequently, at a 3rd step, this frame is placed on ATM cells in 48-byte units.
A certain bit of a cell conveying the tail of a frame, specifically, a PTI user signaling bit, is set to 1. In other cells, this bit is reset to 0. The above processing, accurately speaking, pieces of processing carried out at the 2nd and 3rd steps, are processing for the AAL5.
Typical processing to extract an AAL5 frame from a series of ATM cells is described as follows. First of all, data of cells is stored in a buffer till the last cell of the AAL5 frame arrives. The last cell is indicated by a specific bit therein showing that the cell is the last cell. In the case of the last cell, the specific bit is set to 1. Then, the length and the CRC code are checked. If an abnormality is detected, the frame is discarded. If no abnormality is detected, on the other hand, the processing is completed.
When IP data is placed on the ATM, the maximum IP length is limited in many cases. In accordance with RFC 1626, the maximum IP length is set at 9,180 bytes in many cases. The header of an ATM cell includes a 12-bit or 8-bit VPI (Virtual Path Identifier) and a 16-bit VCI (Virtual Channel Identifier). An ATM switch has a plurality of input/output ports. At an input port, with the VPI and the VCI used as keys, a destination table is searched for an output port, a new VPI and a new VCI. In general, the VPI and the VCI are used as array subscripts of the destination table. Then, the VPI and VCI fields of the cell header are rewritten and the cell is transferred to the output port found in the search. At an output port, cells accumulated in a queue to be output are sequentially output one cell after another by referring to priority levels assigned to the cells and other information. In some cases, only the VPI is considered. In this case, the ATM switch outputs cells while rewriting the VPI field of each of the cells. A path through which a cell is transmitted on the basis of only the VPI thereof is referred to as a VP (Virtual Path).
In many cases, ATM switches are connected to each other by optical fibers. The MTU (Maximum Transfer Unit), that is, the maximum size of a transferable packet, of an Ethernet communication line with a transmission speed of 100 Mbps (Megabit per second) or the so-called 100-base TX, is 1,500 bytes as is the case with a 10-Mbps Ethernet communication line. The MTU of a gigabit Ethernet communication line is also 1,500 bytes. In the case of the gigabit Ethernet communication line, however, a packet with a length of about 9,000 bytes can also be transmitted. There has been a proposal to make the 100-base TX also capable of transmitting a packet with a length of about 9,000 bytes. Thus, for the time being, the upper limit of the packet size is practically 1,500 bytes. It is quite within the bounds of possibility that a packet with a size of about 9,000 bytes will be commonly used in the future.
Problem to be Solved by the Invention
However, the number of queues that can be used for virtual connections (VCs) is limited and may thus be smaller than the number of VCs to be merged. In this case, VCs to be merged are determined on a first-come-first-served basis, giving rise to a problem that the number of VCs can not be reduced with a high degree of efficiency.